Create Video Clip List
Description
The create_video_clip_list function creates multiple video clip records for a given device in a single API call. It takes a list of CreateVideoClip objects, formats them for the backend, and sends them to the service.
Function Signature:
def create_video_clip_list(
ws_config: WebServiceConfig,
device_name: str,
create_video_clips: List[CreateVideoClip]
) -> tuple[int, str]:
Parameters
- ws_config (WebServiceConfig): Configuration object for the web service.
- device_name (str): The name of the device creating the clips. The name will be sanitized and URL-encoded.
- create_video_clips (List[CreateVideoClip]): A list of objects, each containing metadata and options for a video clip.
Returns
- tuple[int, str]: A tuple with:
- int: The HTTP response code from the server.
- str: The HTTP response body, often a status message or JSON string.
Example Usage
ws_config = WebServiceConfig(base_url="https://api.actionstreamer.com")
clips = [CreateVideoClip(...), CreateVideoClip(...)]
device_name = "My Device"
response_code, response_string = create_video_clip_list(ws_config, device_name, clips)
print(response_code, response_string)
Behavior
- Cleans and URL-encodes the
device_name. - Converts each
CreateVideoClipobject into a dictionary. - Sends a
POSTrequest to the endpointv1/videoclip/createlist/{device_name}with a JSON array in the body. - Returns the response from the web service.
Error Handling
- On exception:
- Sets
response_codeto-1. - Provides a descriptive
response_stringwith the line number where the exception occurred. - Logs the exception details to the console.
- Sets